package com.sdry.mapper.llm;

import java.util.List;
import java.util.Map;

import com.sdry.model.jyy.Shedudetail;
import com.sdry.model.llm.EmployeeRecord;
import com.sdry.model.llm.Team;
import com.sdry.model.llm.TeamRecord;

/** 
* @author lian 
* @version 1.0
* @time 2018年10月17日 下午3:48:42
*/
public interface TeamRecordMapper {

	/**
	 * 查询班组记录总行数
	 * @param teamRecord 班组记录
	 * @return
	 */
	int countTeamRecord(TeamRecord teamRecord);

	/**
	 * 分页查询班组记录
	 * @param map 
	 * @return
	 */
	List<TeamRecord> listPageTeamRecord(Map<String, Object> map);

	/**
	 * 新增班组记录
	 * @param teamRecord 班组记录
	 * @return
	 */
	int insertTeamRecord(TeamRecord teamRecord);

	/**
	 * 修改班组记录
	 * @param teamRecord 班组记录
	 * @return
	 */
	int updateTeamRecord(TeamRecord teamRecord);

	/**
	 * 删除班组记录
	 * @param tid 班组记录ID
	 * @return
	 */
	int deleteTeamRecord(Long tid);

	/**
	 * 根据ID查询原记录
	 * @param tid 班组记录ID
	 * @return
	 */
	TeamRecord findById(Long tid);

	/**
	 * 存入新的数据库表中
	 * @param tid 班组记录ID
	 * @return
	 */
	int saveTeamRecordInCopy(TeamRecord t);

	/**
	 * 根据班组ID和日期查询班组记录
	 * @param teamRecord 班组记录
	 * @return
	 */
	TeamRecord getTeamRecordByTeamRecord(TeamRecord teamRecord);

	/**
	 * 根据ID查询排产单详情
	 * @param id
	 * @return
	 */
	Shedudetail getShedudetailById(Long id);

	/**
	 * 根据班组记录ID获取班组记录
	 * @param tid 班组记录ID
	 * @return
	 */
	TeamRecord getTeamRecordByTid(Long tid);

	/**
	 * 根据班组ID获取班组记录
	 * @param teamId 班组ID
	 * @return
	 */
	List<TeamRecord> getTeamRecordByTeamId(Long teamId);

	/**   
	 * 查看当天其他班组是否选过排产单
	 * @param time
	 * @return             
	 */
	List<TeamRecord> getTeamRecordByTime(String time);

	/**   
	 * 根据日期和员工ID获取员工当天所在班组 
	 * @param map
	 * @return             
	 */
	List<TeamRecord> getTeamByTimeAndUid(Map<String, Object> map);

	/**   
	 * 获取员工某月的班组记录
	 * @Title:getRecordByUidAndMonth   
	 * @param map3
	 * @return             
	 */
	List<EmployeeRecord> getRecordByUidAndMonth(Map<String, Object> map3);
}
